Data being read by an application may arrive in the form of a data stream. In a data stream, the application accesses and processes data from the data stream while the data stream is actively being received. The process of configuring and accessing the stream is often not intuitive, and requires that the application track several pieces of information about the stream. Worse, if the stream needs to be accessed by more than one consumer of the stream data, there are no generally suitable solutions short of simply loading the stream into a buffer first.
In the drawings, like reference numbers generally indicate identical or similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.